/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Permainan.java
 *
 * Created on Apr 22, 2010, 1:48:05 PM
 */
package controller.permainan;
import controller.persiapan.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.board.*;
import model.players.*;
import helper.*;
import java.awt.event.*;
import java.io.Serializable;
import javax.swing.*;
import model.*;

public class Permainan2 extends javax.swing.JFrame implements Serializable
{
    //ATTRIBUTE

    public javax.swing.GroupLayout[] kotak_panelLayout = new javax.swing.GroupLayout[33] ;
    public javax.swing.JPanel[] kotak_panel = new javax.swing.JPanel[33];
    public javax.swing.JTextField[] kotakname_textfield = new javax.swing.JTextField [33];
    public javax.swing.JPanel act_panel = new javax.swing.JPanel();
    public javax.swing.JButton act_button = new javax.swing.JButton();
    public javax.swing.JButton sell_button = new javax.swing.JButton();
    public javax.swing.JButton trd_button = new javax.swing.JButton();
    public javax.swing.JLayeredPane aset_attr_panel = new javax.swing.JLayeredPane();
    public javax.swing.JButton[] playerattr_button = new javax.swing.JButton [5];
    private javax.swing.JLabel[] plyrsmallicon_label = new javax.swing.JLabel[5];
    private javax.swing.JLabel[] asseticon_label = new javax.swing.JLabel[5];


    //label penanda posisi pemain di tiap kotak
    private javax.swing.JLabel[] plyr1icon_label = new javax.swing.JLabel[33];
    private javax.swing.JLabel[] plyr2icon_label = new javax.swing.JLabel[33];
    private javax.swing.JLabel[] plyr3icon_label = new javax.swing.JLabel[33];
    private javax.swing.JLabel[] plyr4icon_label = new javax.swing.JLabel[33];
    
    public Game G = new Game();
    public DanaUmum kes = new DanaUmum();

    //variabel sampah.. saya menyesal harus menggunakan ini.. sungguh!!
    private boolean temp;
    java.awt.event.MouseEvent temp_evt = null;
    private static int counter_rolldice;
    public static int counter_chance;
    public static int counter_community;

    //______________________________________________________________________________
    /** KONSTRUKTOR: Creates new form Permainan */
    public Permainan2()
    //ini buat shift-f6
    {
        //assign Game
        G = new Game();
        
        //assign semua barang2 di window
        AssignAllSwingObjects();

        //assign u/ kondisi2 awal
        AssignInitialStates();
        
        //assign pemain 1 sebagai current player
        G.urutan_current_plyr = 1;
        AssignAsThisPlyr(G.urutan_current_plyr);
    }
    
    public Permainan2(Players _Q)
    //ini kalau buat queue dari awal
    {
         //assign Game
        G = new Game(_Q);

        //assign semua barang2 di window
        AssignAllSwingObjects();

        //assign u/ kondisi2 awal
        AssignInitialStates();

        //assign pemain 1 sebagai current player
        G.urutan_current_plyr = 1;
        AssignAsThisPlyr(G.urutan_current_plyr);
        
    }
        
    public Permainan2(Game _G)
    //untuk kalo abis load game, jadi dia gaada assignasthisplayer(1) nya.
    {
        //assign Game
        G = _G;
        
        //assign semua barang2 di window
        AssignAllSwingObjects();

        //assign u/ kondisi2 awal
        AssignInitialStates();

        //assign pemain sebagai current player
        AssignAsThisPlyr(G.urutan_current_plyr);
    }

    //__________________________________________________________________________
    //METHODS
    public void AssignAllSwingObjects()
    {
        //assign objek2 di panel
        initComponents();

        //mengaasign panel yang ada pada view dengan array panel yang telah dibuat
        AssignKotak();      //kotak_panel - termasuk aksi ngebaca lokasi pariwisata dari xml file. Harusnya sih engga. Hm. Engga di sini mksdnya.
        AssignKotakname();  //kotakname_textfield
        act_panel = action_panel;
        act_button = action_button;
        sell_button = sellaset_button;
        trd_button = trade_button;
        aset_attr_panel = asetattribute_panel;
        AssignPlyrattrButton();     //plyrattr_button - itu loh, 4 tombol kanan atas
        AssignPlyrSmallIconLabel(); //plyrsmallicon_label - icon2 pemain di plyrattrbutton
        AssignPlyrIconLabel();      //plyr1icon_label, dkk - bidak2 di kotak_panel
        AssignPopupMenu();          //popup menu yang di tombol menu_button

        //state barang2 yang ada window permainan2 nya..
        setLocationRelativeTo(null);
        setVisible(true);
        asetattribute_panel.setVisible(false);
        notif_panel.setVisible(false);
    }

    public void AssignInitialStates()
    {
        //assign icon dan nama pemain di button kanan atas
        for (int i = 1; i<=G.Q.jum_Player; i++)
        {
            playerattr_button[i].setText(G.Q.player[i].getNama());
        }

        //menampilkan bidak2 di kotak start
        ShowPlyrAllPosition();

        //menampilkan hotel dan segala macem
        AssignAssetLabel();

        //assign dana umum dan kesempatan
        kes.AssignKes();
        kes.AssignDana();
    }

    public void AssignAsThisPlyr(int urutan_current_plyr)
    //anggap saja ini ganti
    {
        //ngaganti di action panel
        plyrname_label2.setText(G.Q.player[urutan_current_plyr].getNama());
        plyricon_label2.setIcon(G.Q.player[urutan_current_plyr].getSmallImage());

        //ngubah player button di kanan tea
        ShowPlyrAttr(urutan_current_plyr);
        playerattr_button[urutan_current_plyr].setBackground(G.Q.player[urutan_current_plyr].getSoftColor());

        //menampilkan asset2 punya dia.
        for (int i = 1; i<=32; i++)
        {

            if ((G.B[i].getOwner() != null) && (G.B[i].getOwner().equals(G.Q.player[urutan_current_plyr])))
            {
                kotak_panel[i].setBackground(G.Q.player[urutan_current_plyr].getSoftColor());
                sellaset_button.setEnabled(true);
                trade_button.setEnabled(true);
            }
            else //kotak2 lain diputihin
            {
                kotak_panel[i].setBackground(new java.awt.Color (255,255,255));
            }
        }
    }


    //______________________________________________________________________________
    //mengaasign panel yang ada pada view dengan array panel yang telah dibuat
   public void AssignKotak()
   {
        kotak_panel[1]=kotak_panel1;
        kotak_panel[2]=kotak_panel2;
        kotak_panel[3]=kotak_panel3;
        kotak_panel[4]=kotak_panel4;
        kotak_panel[5]=kotak_panel5;
        kotak_panel[6]=kotak_panel6;
        kotak_panel[7]=kotak_panel7;
        kotak_panel[8]=kotak_panel8;
        kotak_panel[9]=kotak_panel9;
        kotak_panel[10]=kotak_panel10;
        kotak_panel[11]=kotak_panel11;
        kotak_panel[12]=kotak_panel12;
        kotak_panel[13]=kotak_panel13;
        kotak_panel[14]=kotak_panel14;
        kotak_panel[15]=kotak_panel15;
        kotak_panel[16]=kotak_panel16;
        kotak_panel[17]=kotak_panel17;
        kotak_panel[18]=kotak_panel18;
        kotak_panel[19]=kotak_panel19;
        kotak_panel[20]=kotak_panel20;
        kotak_panel[21]=kotak_panel21;
        kotak_panel[22]=kotak_panel22;
        kotak_panel[23]=kotak_panel23;
        kotak_panel[24]=kotak_panel24;
        kotak_panel[25]=kotak_panel25;
        kotak_panel[26]=kotak_panel26;
        kotak_panel[27]=kotak_panel27;
        kotak_panel[28]=kotak_panel28;
        kotak_panel[29]=kotak_panel29;
        kotak_panel[30]=kotak_panel30;
        kotak_panel[31]=kotak_panel31;
        kotak_panel[32]=kotak_panel32;

   }

   public void AssignKotakname()
   {
        
        kotakname_textfield[1]=kotakname_textfield1;
        kotakname_textfield[2]=kotakname_textfield2;
        kotakname_textfield[3]=kotakname_textfield3;
        kotakname_textfield[4]=kotakname_textfield4;
        kotakname_textfield[5]=kotakname_textfield5;
        kotakname_textfield[6]=kotakname_textfield6;
        kotakname_textfield[7]=kotakname_textfield7;
        kotakname_textfield[8]=kotakname_textfield8;
        kotakname_textfield[9]=kotakname_textfield9;
        kotakname_textfield[10]=kotakname_textfield10;
        kotakname_textfield[11]=kotakname_textfield11;
        kotakname_textfield[12]=kotakname_textfield12;
        kotakname_textfield[13]=kotakname_textfield13;
        kotakname_textfield[14]=kotakname_textfield14;
        kotakname_textfield[15]=kotakname_textfield15;
        kotakname_textfield[16]=kotakname_textfield16;
        kotakname_textfield[17]=kotakname_textfield17;
        kotakname_textfield[18]=kotakname_textfield18;
        kotakname_textfield[19]=kotakname_textfield19;
        kotakname_textfield[20]=kotakname_textfield20;
        kotakname_textfield[21]=kotakname_textfield21;
        kotakname_textfield[22]=kotakname_textfield22;
        kotakname_textfield[23]=kotakname_textfield23;
        kotakname_textfield[24]=kotakname_textfield24;
        kotakname_textfield[25]=kotakname_textfield25;
        kotakname_textfield[26]=kotakname_textfield26;
        kotakname_textfield[27]=kotakname_textfield27;
        kotakname_textfield[28]=kotakname_textfield28;
        kotakname_textfield[29]=kotakname_textfield29;
        kotakname_textfield[30]=kotakname_textfield30;
        kotakname_textfield[31]=kotakname_textfield31;
        kotakname_textfield[32]=kotakname_textfield32;

        //menampilkan nama aset di setiap kotak_panel

        for (int i = 1; i<=32; i++)
        {
            kotakname_textfield[i].setText(G.B[i].getNama());
        }

   }

   public void AssignPlyrattrButton()
   {
        playerattr_button[1] = playerattr_button1;
        playerattr_button[2] = playerattr_button2;
        playerattr_button[3] = playerattr_button5;
        playerattr_button[4] = playerattr_button6;
       
       for (int i = 1 ; i<=4; i++)
       {
           if (i <= G.Q.jum_Player)
               playerattr_button[i].setText(G.Q.player[i].getNama());
           else
           {
               playerattr_button[i].setVisible(false);
               
           }
       }
   }

   public void AssignPlyrSmallIconLabel()
   //assign ikon kecil2 di player button di kanan atas itu
   {
       plyrsmallicon_label[1] = plyrsmallicon_label1;
       plyrsmallicon_label[2] = plyrsmallicon_label2;
       plyrsmallicon_label[3] = plyrsmallicon_label5;
       plyrsmallicon_label[4] = plyrsmallicon_label6;
       for (int i = 1; i<= G.Q.jum_Player; i++)
       {
           plyrsmallicon_label[i].setIcon(G.Q.player[i].getSmallImage());
       }


   }

   public void AssignAssetLabel()
   //buat ikon villa/hotelnya loh
   {
       asseticon_label[1] = asset_label1;
       asseticon_label[2] = asset_label2;
       asseticon_label[3] = asset_label3;
       asseticon_label[4] = asset_label4;

       for(int i =1;i<=4;i++)
           asseticon_label[i].setVisible(false);
   }

   public void DisplayAsset(int posisi)
   //menampilkan hotel/villa di asset attribute
   {
       if (G.B[posisi].getTipe() == 2)
       {
           LokasiPariwisata LP = (LokasiPariwisata)G.B[posisi];
           //ADA VILLA GA ADA HOTEL
           if((LP.getJum_villa()>=1) && (LP.getJum_hotel()==0))
           {
                for (int i=1;i<=LP.getJum_villa();i++)
                {
                    asseticon_label[i].setVisible(true);

                }
           }
           //ga ada rumah tapi ada hotel
           else if ((LP.getJum_villa() == 0) && (LP.getJum_hotel() >= 1))
           {
               for (int i=1;i<=LP.getJum_hotel();i++)
                {
                    asseticon_label[i].setIcon(SearchEngine.createImageIcon("hotel.png"));
                    asseticon_label[i].setVisible(true);

                }
           }
           //ADA VILLA DAN ADA HOTEL
           else
           {
               for (int i=1;i<=LP.getJum_hotel();i++)
               {
                    asseticon_label[i].setIcon(SearchEngine.createImageIcon("hotel.png"));
                    asseticon_label[i].setVisible(true);
                    int jum = LP.getJum_hotel()+1;
                    for (int j=jum;j<=jum+LP.getJum_villa()-1;j++)   //maksimal cuma 4
                    {
                        asseticon_label[j].setIcon(SearchEngine.createImageIcon("house.png"));
                        asseticon_label[j].setVisible(true);
                    }
               }
           }
        }
   }
   
   public void AssignPlyrIconLabel()
   {
       for (int i = 1; i <= 32; i++)
       {

           plyr1icon_label[i] = new javax.swing.JLabel();
           plyr1icon_label[i].setPreferredSize(new java.awt.Dimension(20, 20));
           if (1 <= G.Q.jum_Player)
           plyr1icon_label[i].setBackground(G.Q.player[1].getColor());
           plyr1icon_label[i].setOpaque(true);
           plyr1icon_label[i].setVisible(false);
           
           plyr2icon_label[i] = new javax.swing.JLabel();
           plyr2icon_label[i].setPreferredSize(new java.awt.Dimension(20, 20));
           plyr2icon_label[i].setOpaque(true);
           if (2 <= G.Q.jum_Player)
           plyr2icon_label[i].setBackground(G.Q.player[2].getColor());
           plyr2icon_label[i].setVisible(false);

           plyr3icon_label[i] = new javax.swing.JLabel();
           plyr3icon_label[i].setPreferredSize(new java.awt.Dimension(20, 20));
           plyr3icon_label[i].setOpaque(true);
           if (3 <= G.Q.jum_Player)
           plyr3icon_label[i].setBackground(G.Q.player[3].getColor());
           plyr3icon_label[i].setVisible(false);

           plyr4icon_label[i] = new javax.swing.JLabel();
           plyr4icon_label[i].setPreferredSize(new java.awt.Dimension(20, 20));
           plyr4icon_label[i].setOpaque(true);
           if (4 <= G.Q.jum_Player)
           plyr4icon_label[i].setBackground(G.Q.player[4].getColor());
           plyr4icon_label[i].setVisible(false);
           
           kotak_panelLayout[i] = new javax.swing.GroupLayout(kotak_panel[i]);
            kotak_panel[i].setLayout(kotak_panelLayout[i]);
            kotak_panelLayout[i].setHorizontalGroup(
            kotak_panelLayout[i].createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield[i], javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
            .addGroup(kotak_panelLayout[i].createSequentialGroup()
                .addComponent(plyr1icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(plyr2icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(plyr3icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(plyr4icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        kotak_panelLayout[i].setVerticalGroup(
            kotak_panelLayout[i].createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panelLayout[i].createSequentialGroup()
                .addComponent(kotakname_textfield[i], javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(kotak_panelLayout[i].createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(plyr1icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyr2icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyr3icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyr4icon_label[i], javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(8, 8, 8))
        );
       }
       
   }

   public void AssignPopupMenu()
   {
       JMenuItem menuitem;

       //item u/ save game
       menuitem = new JMenuItem("Save Game");
       menuitem.addActionListener(new java.awt.event.ActionListener()
       {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
               String filename = JOptionPane.showInputDialog("Input the saved game file name plissss..");
               while(IOSavedGame.isSavedgameExsist(filename+ ".game"))
               {
                   filename = new String (JOptionPane.showInputDialog("File name already exsitst! Input the saved game file name plissss.."));
               }
               IOSavedGame.Simpan(filename, G);
               JOptionPane.showMessageDialog(action_panel, "Game is successfully saved!");
               HistoryWrite("Game is saved as "+filename);
               
            }
        });
       menu_popup.add(menuitem);

       //item u/ exit game dan kembali ke mode persiapan
       menuitem = new JMenuItem("Quit Game");
       final Permainan2 parent = this;
       menuitem.addActionListener(new java.awt.event.ActionListener()
       {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                int option = JOptionPane.showConfirmDialog(action_panel, "Are you sure wanna quit this very very exciting game?");
                if (option == 0)
                {
                    JOptionPane.showMessageDialog(action_panel, "Bye~~");
                    parent.setVisible(false);
                    new Persiapan().setVisible(true);
                }
                else
                {
                    JOptionPane.showMessageDialog(action_panel, "HOREEEEEE!");
                }

            }
        });
       menu_popup.add(menuitem);

    }

   public void HistoryWrite(String S)
   {
       history_textarea.setWrapStyleWord(true);
       history_textarea.setText(history_textarea.getText().concat("\n_____________________________________\n"+S));
       NotifWrite(S);
   }

   public void NotifWrite(String S)
   {
       notif_panel.setVisible(true);
       notif_label.setText(new String (S));
    }

   public void SetDicesDisplayed(int dadu1, int dadu2)
   {
        String S1 = Integer.toString(dadu1);
        String S2 = Integer.toString(dadu2);
        dice_label1.setIcon(SearchEngine.createImageIcon("Dadu/dice"+S1+".gif"));
        dice_label2.setIcon(SearchEngine.createImageIcon("Dadu/dice"+S2+".gif"));
   }

   public void ShowPlyrAttr(int nomor)
   {
       javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
       jPanel1.setLayout(jPanel1Layout);
       jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(playerattr_panel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 310, Short.MAX_VALUE)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(player_panel6, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                        .addGap(0, 0, 0)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );

        //tampilan vertical tergantung dari source event (tombol apa yang diteken)
       switch (nomor)
        {
            case 1:
                jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(player_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(playerattr_panel, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                .addGap(0, 0, 0)
                .addComponent(player_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
                break;
            case 2:
                jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(player_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(playerattr_panel, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                .addGap(0, 0, 0)
                .addComponent(player_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE))
                );
                break;
            case 3:
                jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(player_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(playerattr_panel, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                .addGap(0, 0, 0)
                .addComponent(player_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE))
                );
                break;
            case 4:
                jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(player_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(playerattr_panel, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE))
                );
                break;
        }
        plyrattr_textarea.setText(G.Q.player[nomor].getAttr());
        plyraset_textarea.setText(G.Q.player[nomor].getAset(G.B));
        plyrlargeicon_label1.setIcon(G.Q.player[nomor].getLargeImage());
        plyrlargeicon_label2.setIcon(G.Q.player[nomor].getLargeImage());
        
   }

   public void CekKotak ()
     {
       switch (G.current_kotak().getTipe())
            {
            case 2: //LP
                LokasiPariwisata LP = (LokasiPariwisata) G.current_kotak();
                makan_button.setEnabled(true);
                rekreasi_button.setEnabled(true);
                if ( (G.current_kotak().getOwner() != null))
                {
                    //KONDISI : KOTAK LOKASI PARIWISATA MILIK ORANG LAIN
                    if (!G.current_kotak().getOwner().equals(G.current_plyr()))
                    {
                        G.current_plyr().sudah_bayar = false;
                        NotifWrite("You have to pay Rp."+G.current_kotak().getHargasewa()+" rent to " +G.current_kotak().getOwner().getNama());
                        Bayar_dialog bayar = new Bayar_dialog (new javax.swing.JFrame(),true,this );
                        bayar.setPaydesc("You have to pay Rp."+G.current_kotak().getHargasewa()+" rent to " +G.current_kotak().getOwner().getNama());
                        bayar.setVisible(true);
                    }
                    //KODISI : KOTAK LOKASI PARIWISATA MILIK SENDIRI
                    else if ( (G.current_kotak().getOwner().equals(G.current_plyr())))
                    {
                        NotifWrite ("This asset is yours.");
                        if (SearchEngine.DoYouHaveThisComplex(G.B, G.current_plyr().getPosisi(), G.current_plyr() ))
                        {
                            beliaset_button.setEnabled(true);
                            if (LP.getJum_villa() == 4)
                            {
                                NotifWrite("You can build hotel here!");
                                beliaset_button.setText("Build Hotel");
                            }
                            else
                            {
                                NotifWrite("You can build villa here!");
                                beliaset_button.setText("Build Villa");

                            }
                            
                        }
                    }
                }
                //KONDISI : BELUM ADA YANG PUNYA
                else
                {
                    NotifWrite("This asset belongs to no one so you can buy it!");
                    beliaset_button.setText("Buy Asset");
                    beliaset_button.setEnabled(true);
                }
                break;

            case 3: //DANA UMUM
                kes.getMethodDana(counter_community, G);
                counter_community++;
                if(counter_community >= 5)
                    counter_community = 0;
                break;
                

            case 4: //airport
                if ( (G.current_kotak().getOwner() != null))
                {
                    //KONDISI : AIRPORT MILIK ORANG LAIN
                    if (!G.current_kotak().getOwner().equals(G.current_plyr()))
                    {
                        int jum_airport = helper.SearchEngine.howManyAirportsDoYouHave(G.current_kotak().getOwner());
                        G.current_plyr().sudah_bayar = false;
                        NotifWrite("You have to pay the rent Rp."+jum_airport*G.current_kotak().getHargasewa());
                        Bayar_dialog bayar = new Bayar_dialog (new javax.swing.JFrame(),true,this );
                        bayar.setPaydesc("You have to pay the rent Rp."+jum_airport*G.current_kotak().getHargasewa()+" to " +G.current_kotak().getOwner().getNama());
                        bayar.setVisible(true);
                    }
                    //KONDISI : AIRPORT MILIK PEMAIN
                    else if ( (G.current_kotak().getOwner().equals(G.current_plyr())))
                        NotifWrite ("This airport is yours.");
                }
                else
                {
                    //KONDISI : BELUM ADA YANG PUNYA
                    NotifWrite("This airport belongs to no one so you can buy it!");
                    beliaset_button.setText("Buy Asset");
                    beliaset_button.setEnabled(true);
                }
                break;

            case 6: //masuk penjara
                //PEMAIN PINDAH KE KOTAK NO 9
                G.current_plyr().setPosisi(9);
                ShowPlyrAllPosition();
                G.current_plyr().masuk_penjara = true ;
                HistoryWrite(G.current_plyr().getNama()+" are in jail. ");

                NotifWrite(G.current_plyr().getNama()+" are in jail.");
                JOptionPane.showMessageDialog(null,G.current_plyr().getNama()+" are in jail.\nYour turn is over." , "GUILTY", 1);

                //GANTI PEMAIN
                playerattr_button[G.urutan_current_plyr].setBackground(null);
                SetDicesDisplayed(0,0);
                DisableButtons();
                G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.urutan_current_plyr);
                AssignAsThisPlyr(G.urutan_current_plyr);
                CheckBankrupt();
                action_button.setText("Roll Dice");

                if (!G.current_plyr().getHuman())
                {
                    NotifWrite (G.current_plyr().getNama()+" bukan manusia loh. Jangan2 pocong.");
                    System.out.println("bukan manusia loh. Jangan2 pocong.");
                    Thread ai_thread = new Thread (new AI_controller_Lisa(this));
                    ai_thread.start();
                }
                break;

             case 8: //parkir bebas
                break;

            case 9: //KESEMPATAN
                kes.getMethodKes(counter_chance, G);
                switch(counter_chance)
                {
                    case 0 : this.ShowPlyrAllPosition();break;
                    case 2 : this.ShowPlyrAllPosition(); this.CekKotak(); break;
                    case 3 : this.ShowPlyrAllPosition(); this.CekKotak(); break;
                    case 4 : action_button.setText("Roll Dice");
                }
                
                counter_chance++;
                if(counter_chance >= 5)
                    counter_chance = 0;
                break;

            case 10: //reverse
                //KONDISI : URUTAN PEMAIN DIBALIK
                G.Q.arah_maju = !G.Q.arah_maju;
                HistoryWrite("Arah urutan pemain dibalik.");
                break;

            case 11: //skip
                //KONDISI : PEMAIN GILIRAN SELANJUTNYA DISKIP
                HistoryWrite(G.current_plyr().getNama()+" has skipped "+G.Q.player[G.Q.urutan_nextPlayer(G.urutan_current_plyr)].getNama());
                playerattr_button[G.urutan_current_plyr].setBackground(null);
                DisableButtons();
                G.skip_next = true;
                break;
               }
        }

   public void DisableButtons()
   {
       beliaset_button.setEnabled(false);
       makan_button.setEnabled(false);
       rekreasi_button.setEnabled(false);
       sellaset_button.setEnabled(false);
       trade_button.setText("Trade");
       trade_button.setEnabled(false);
       
   }

   public void ShowPlyrAllPosition()
   {
       //mengulang sejumlah banyaknya kotak
        for (int posisi = 1; posisi <=32; posisi ++)
        {
           ShowPlyr(posisi);
          
        }
   }

   private void ShowPlyr(int posisi)
   {
       //mengulang sejumlah banyaknya pemain
       for (int i = 1; i <=G.Q.jum_Player; i++)
       {
           if(G.Q.player[i] != null)
           {
                if (G.Q.player[i].getPosisi() == posisi)
                {
                       
                    switch (i)
                    {
                        case 1:plyr1icon_label[posisi].setVisible(true);break;
                        case 2:plyr2icon_label[posisi].setVisible(true);break;
                        case 3:plyr3icon_label[posisi].setVisible(true);break;
                        case 4:plyr4icon_label[posisi].setVisible(true);break;
                    }
               
                }
           
                else
                {
                    switch (i)
                    {
                        case 1: plyr1icon_label[posisi].setVisible(false);break;
                        case 2:plyr2icon_label[posisi].setVisible(false);break;
                        case 3:plyr3icon_label[posisi].setVisible(false);break;
                        case 4:plyr4icon_label[posisi].setVisible(false);break;
                    }
                }
           }
           else
           {
                    switch (i)
                    {
                        case 1:plyr1icon_label[posisi].setVisible(false);break;
                        case 2:plyr2icon_label[posisi].setVisible(false);break;
                        case 3:plyr3icon_label[posisi].setVisible(false);break;
                        case 4:plyr4icon_label[posisi].setVisible(false);break;
                    }
           }
       }
   }

   //______________________________________________________________________________
   
   /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
   @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        menu_popup = new javax.swing.JPopupMenu();
        menu_button = new javax.swing.JButton();
        beliaset_button = new javax.swing.JButton();
        sellaset_button = new javax.swing.JButton();
        makan_button = new javax.swing.JButton();
        rekreasi_button = new javax.swing.JButton();
        trade_button = new javax.swing.JButton();
        bankrupt_button = new javax.swing.JButton();
        board_panel = new javax.swing.JPanel();
        kotak_panel2 = new javax.swing.JPanel();
        kotakname_textfield2 = new javax.swing.JTextField();
        kotak_panel3 = new javax.swing.JPanel();
        kotakname_textfield3 = new javax.swing.JTextField();
        kotak_panel4 = new javax.swing.JPanel();
        kotakname_textfield4 = new javax.swing.JTextField();
        kotak_panel5 = new javax.swing.JPanel();
        kotakname_textfield5 = new javax.swing.JTextField();
        kotak_panel6 = new javax.swing.JPanel();
        kotakname_textfield6 = new javax.swing.JTextField();
        kotak_panel7 = new javax.swing.JPanel();
        kotakname_textfield7 = new javax.swing.JTextField();
        kotak_panel8 = new javax.swing.JPanel();
        kotakname_textfield8 = new javax.swing.JTextField();
        kotak_panel9 = new javax.swing.JPanel();
        kotakname_textfield9 = new javax.swing.JTextField();
        kotak_panel10 = new javax.swing.JPanel();
        kotakname_textfield10 = new javax.swing.JTextField();
        kotak_panel11 = new javax.swing.JPanel();
        kotakname_textfield11 = new javax.swing.JTextField();
        kotak_panel12 = new javax.swing.JPanel();
        kotakname_textfield12 = new javax.swing.JTextField();
        kotak_panel13 = new javax.swing.JPanel();
        kotakname_textfield13 = new javax.swing.JTextField();
        kotak_panel14 = new javax.swing.JPanel();
        kotakname_textfield14 = new javax.swing.JTextField();
        kotak_panel15 = new javax.swing.JPanel();
        kotakname_textfield15 = new javax.swing.JTextField();
        kotak_panel16 = new javax.swing.JPanel();
        kotakname_textfield16 = new javax.swing.JTextField();
        kotak_panel17 = new javax.swing.JPanel();
        kotakname_textfield17 = new javax.swing.JTextField();
        kotak_panel18 = new javax.swing.JPanel();
        kotakname_textfield18 = new javax.swing.JTextField();
        kotak_panel19 = new javax.swing.JPanel();
        kotakname_textfield19 = new javax.swing.JTextField();
        kotak_panel20 = new javax.swing.JPanel();
        kotakname_textfield20 = new javax.swing.JTextField();
        kotak_panel21 = new javax.swing.JPanel();
        kotakname_textfield21 = new javax.swing.JTextField();
        kotak_panel22 = new javax.swing.JPanel();
        kotakname_textfield22 = new javax.swing.JTextField();
        kotak_panel23 = new javax.swing.JPanel();
        kotakname_textfield23 = new javax.swing.JTextField();
        kotak_panel24 = new javax.swing.JPanel();
        kotakname_textfield24 = new javax.swing.JTextField();
        kotak_panel25 = new javax.swing.JPanel();
        kotakname_textfield25 = new javax.swing.JTextField();
        kotak_panel27 = new javax.swing.JPanel();
        kotakname_textfield26 = new javax.swing.JTextField();
        kotak_panel26 = new javax.swing.JPanel();
        kotakname_textfield27 = new javax.swing.JTextField();
        kotak_panel28 = new javax.swing.JPanel();
        kotakname_textfield28 = new javax.swing.JTextField();
        kotak_panel29 = new javax.swing.JPanel();
        kotakname_textfield29 = new javax.swing.JTextField();
        kotak_panel30 = new javax.swing.JPanel();
        kotakname_textfield30 = new javax.swing.JTextField();
        kotak_panel31 = new javax.swing.JPanel();
        kotakname_textfield31 = new javax.swing.JTextField();
        kotak_panel32 = new javax.swing.JPanel();
        kotakname_textfield32 = new javax.swing.JTextField();
        notif_panel = new javax.swing.JLayeredPane();
        notif_label = new javax.swing.JLabel();
        asetattribute_panel = new javax.swing.JLayeredPane();
        asetattribute_textarea = new javax.swing.JTextArea();
        imageLP_label = new javax.swing.JLabel();
        kotaknama_label = new javax.swing.JLabel();
        ownername_label = new javax.swing.JLabel();
        ownericon_label = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        asset_label1 = new javax.swing.JLabel();
        asset_label4 = new javax.swing.JLabel();
        asset_label2 = new javax.swing.JLabel();
        asset_label3 = new javax.swing.JLabel();
        kotak_panel1 = new javax.swing.JPanel();
        kotakname_textfield1 = new javax.swing.JTextField();
        action_panel = new javax.swing.JPanel();
        plyrname_label2 = new javax.swing.JLabel();
        plyricon_label2 = new javax.swing.JLabel();
        action_button = new javax.swing.JButton();
        setposisi_cheat = new javax.swing.JTextField();
        dice_label2 = new javax.swing.JLabel();
        dice_label1 = new javax.swing.JLabel();
        setuang_cheat = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        history_textarea = new javax.swing.JTextArea();
        player_panel1 = new javax.swing.JPanel();
        plyrsmallicon_label1 = new javax.swing.JLabel();
        playerattr_button1 = new javax.swing.JButton();
        player_panel2 = new javax.swing.JPanel();
        plyrsmallicon_label2 = new javax.swing.JLabel();
        playerattr_button2 = new javax.swing.JButton();
        player_panel5 = new javax.swing.JPanel();
        plyrsmallicon_label5 = new javax.swing.JLabel();
        playerattr_button5 = new javax.swing.JButton();
        player_panel6 = new javax.swing.JPanel();
        plyrsmallicon_label6 = new javax.swing.JLabel();
        playerattr_button6 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        playerattr_panel = new javax.swing.JTabbedPane();
        plyrattr_tab = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        plyrattr_textarea = new javax.swing.JTextArea();
        plyrlargeicon_label1 = new javax.swing.JLabel();
        plyrasset_tab = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        plyraset_textarea = new javax.swing.JTextArea();
        plyrlargeicon_label2 = new javax.swing.JLabel();

        menu_popup.setAlignmentY(500.0F);
        menu_popup.getAccessibleContext().setAccessibleParent(menu_button);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(255, 153, 153));
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        menu_button.setText("Menu");
        menu_button.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                menu_buttonMouseClicked(evt);
            }
        });

        beliaset_button.setText("Buy Asset");
        beliaset_button.setEnabled(false);
        beliaset_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                beliaset_buttonActionPerformed(evt);
            }
        });

        sellaset_button.setText("Sell Asset");
        sellaset_button.setEnabled(false);
        sellaset_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sellaset_buttonActionPerformed(evt);
            }
        });

        makan_button.setText("Eat");
        makan_button.setEnabled(false);
        makan_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                makan_buttonActionPerformed(evt);
            }
        });

        rekreasi_button.setText("Do Vacation");
        rekreasi_button.setEnabled(false);
        rekreasi_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rekreasi_buttonActionPerformed(evt);
            }
        });

        trade_button.setText("Trade");
        trade_button.setEnabled(false);
        trade_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                trade_buttonActionPerformed(evt);
            }
        });

        bankrupt_button.setText("Bankrupt");
        bankrupt_button.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                bankrupt_buttonMouseClicked(evt);
            }
        });

        board_panel.setBackground(new java.awt.Color(255, 255, 255));
        board_panel.setPreferredSize(new java.awt.Dimension(810, 630));
        board_panel.setRequestFocusEnabled(false);
        board_panel.setVerifyInputWhenFocusTarget(false);

        kotak_panel2.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel2.setEnabled(false);
        kotak_panel2.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel2.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel2.setRequestFocusEnabled(false);
        kotak_panel2.setVerifyInputWhenFocusTarget(false);
        kotak_panel2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield2.setBackground(new java.awt.Color(153, 204, 255));
        kotakname_textfield2.setEditable(false);
        kotakname_textfield2.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield2.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel2Layout = new javax.swing.GroupLayout(kotak_panel2);
        kotak_panel2.setLayout(kotak_panel2Layout);
        kotak_panel2Layout.setHorizontalGroup(
            kotak_panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield2, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel2Layout.setVerticalGroup(
            kotak_panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel2Layout.createSequentialGroup()
                .addComponent(kotakname_textfield2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(43, 43, 43))
        );

        kotak_panel3.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel3.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel3.setEnabled(false);
        kotak_panel3.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel3.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel3.setRequestFocusEnabled(false);
        kotak_panel3.setVerifyInputWhenFocusTarget(false);
        kotak_panel3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield3.setBackground(new java.awt.Color(153, 204, 255));
        kotakname_textfield3.setEditable(false);
        kotakname_textfield3.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield3.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel3Layout = new javax.swing.GroupLayout(kotak_panel3);
        kotak_panel3.setLayout(kotak_panel3Layout);
        kotak_panel3Layout.setHorizontalGroup(
            kotak_panel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield3, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel3Layout.setVerticalGroup(
            kotak_panel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel3Layout.createSequentialGroup()
                .addComponent(kotakname_textfield3, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel4.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel4.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel4.setEnabled(false);
        kotak_panel4.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel4.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel4.setRequestFocusEnabled(false);
        kotak_panel4.setVerifyInputWhenFocusTarget(false);
        kotak_panel4.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield4.setEditable(false);
        kotakname_textfield4.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield4.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel4Layout = new javax.swing.GroupLayout(kotak_panel4);
        kotak_panel4.setLayout(kotak_panel4Layout);
        kotak_panel4Layout.setHorizontalGroup(
            kotak_panel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield4, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel4Layout.setVerticalGroup(
            kotak_panel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel4Layout.createSequentialGroup()
                .addComponent(kotakname_textfield4, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel5.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel5.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel5.setEnabled(false);
        kotak_panel5.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel5.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel5.setRequestFocusEnabled(false);
        kotak_panel5.setVerifyInputWhenFocusTarget(false);
        kotak_panel5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield5.setBackground(new java.awt.Color(204, 204, 255));
        kotakname_textfield5.setEditable(false);
        kotakname_textfield5.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield5.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel5Layout = new javax.swing.GroupLayout(kotak_panel5);
        kotak_panel5.setLayout(kotak_panel5Layout);
        kotak_panel5Layout.setHorizontalGroup(
            kotak_panel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield5, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel5Layout.setVerticalGroup(
            kotak_panel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel5Layout.createSequentialGroup()
                .addComponent(kotakname_textfield5, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel6.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel6.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel6.setEnabled(false);
        kotak_panel6.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel6.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel6.setRequestFocusEnabled(false);
        kotak_panel6.setVerifyInputWhenFocusTarget(false);
        kotak_panel6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield6.setBackground(new java.awt.Color(204, 153, 255));
        kotakname_textfield6.setEditable(false);
        kotakname_textfield6.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield6.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel6Layout = new javax.swing.GroupLayout(kotak_panel6);
        kotak_panel6.setLayout(kotak_panel6Layout);
        kotak_panel6Layout.setHorizontalGroup(
            kotak_panel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield6, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel6Layout.setVerticalGroup(
            kotak_panel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel6Layout.createSequentialGroup()
                .addComponent(kotakname_textfield6, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel7.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel7.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel7.setEnabled(false);
        kotak_panel7.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel7.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel7.setRequestFocusEnabled(false);
        kotak_panel7.setVerifyInputWhenFocusTarget(false);
        kotak_panel7.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield7.setBackground(new java.awt.Color(204, 153, 255));
        kotakname_textfield7.setEditable(false);
        kotakname_textfield7.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield7.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel7Layout = new javax.swing.GroupLayout(kotak_panel7);
        kotak_panel7.setLayout(kotak_panel7Layout);
        kotak_panel7Layout.setHorizontalGroup(
            kotak_panel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield7, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel7Layout.setVerticalGroup(
            kotak_panel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel7Layout.createSequentialGroup()
                .addComponent(kotakname_textfield7, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel8.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel8.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel8.setEnabled(false);
        kotak_panel8.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel8.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel8.setRequestFocusEnabled(false);
        kotak_panel8.setVerifyInputWhenFocusTarget(false);
        kotak_panel8.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield8.setBackground(new java.awt.Color(204, 153, 255));
        kotakname_textfield8.setEditable(false);
        kotakname_textfield8.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield8.setText("jTextField1");
        kotakname_textfield8.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
        });

        javax.swing.GroupLayout kotak_panel8Layout = new javax.swing.GroupLayout(kotak_panel8);
        kotak_panel8.setLayout(kotak_panel8Layout);
        kotak_panel8Layout.setHorizontalGroup(
            kotak_panel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield8, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel8Layout.setVerticalGroup(
            kotak_panel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel8Layout.createSequentialGroup()
                .addComponent(kotakname_textfield8, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel9.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel9.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel9.setEnabled(false);
        kotak_panel9.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel9.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel9.setRequestFocusEnabled(false);
        kotak_panel9.setVerifyInputWhenFocusTarget(false);
        kotak_panel9.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                kotak_panel9MouseClicked(evt);
            }
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield9.setBackground(new java.awt.Color(0, 0, 0));
        kotakname_textfield9.setEditable(false);
        kotakname_textfield9.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield9.setForeground(new java.awt.Color(255, 255, 255));
        kotakname_textfield9.setText("jTextField1");
        kotakname_textfield9.setAutoscrolls(false);
        kotakname_textfield9.setRequestFocusEnabled(false);
        kotakname_textfield9.setVerifyInputWhenFocusTarget(false);

        javax.swing.GroupLayout kotak_panel9Layout = new javax.swing.GroupLayout(kotak_panel9);
        kotak_panel9.setLayout(kotak_panel9Layout);
        kotak_panel9Layout.setHorizontalGroup(
            kotak_panel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield9, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel9Layout.setVerticalGroup(
            kotak_panel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel9Layout.createSequentialGroup()
                .addComponent(kotakname_textfield9, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(43, 43, 43))
        );

        kotak_panel10.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel10.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel10.setEnabled(false);
        kotak_panel10.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel10.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel10.setRequestFocusEnabled(false);
        kotak_panel10.setVerifyInputWhenFocusTarget(false);
        kotak_panel10.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield10.setBackground(new java.awt.Color(153, 255, 153));
        kotakname_textfield10.setEditable(false);
        kotakname_textfield10.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield10.setText("jTextField1");
        kotakname_textfield10.setAutoscrolls(false);
        kotakname_textfield10.setRequestFocusEnabled(false);
        kotakname_textfield10.setVerifyInputWhenFocusTarget(false);

        javax.swing.GroupLayout kotak_panel10Layout = new javax.swing.GroupLayout(kotak_panel10);
        kotak_panel10.setLayout(kotak_panel10Layout);
        kotak_panel10Layout.setHorizontalGroup(
            kotak_panel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield10, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel10Layout.setVerticalGroup(
            kotak_panel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel10Layout.createSequentialGroup()
                .addComponent(kotakname_textfield10, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel11.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel11.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel11.setEnabled(false);
        kotak_panel11.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel11.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel11.setRequestFocusEnabled(false);
        kotak_panel11.setVerifyInputWhenFocusTarget(false);
        kotak_panel11.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield11.setBackground(new java.awt.Color(153, 255, 153));
        kotakname_textfield11.setEditable(false);
        kotakname_textfield11.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield11.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel11Layout = new javax.swing.GroupLayout(kotak_panel11);
        kotak_panel11.setLayout(kotak_panel11Layout);
        kotak_panel11Layout.setHorizontalGroup(
            kotak_panel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield11, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel11Layout.setVerticalGroup(
            kotak_panel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel11Layout.createSequentialGroup()
                .addComponent(kotakname_textfield11, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel12.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel12.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel12.setEnabled(false);
        kotak_panel12.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel12.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel12.setRequestFocusEnabled(false);
        kotak_panel12.setVerifyInputWhenFocusTarget(false);
        kotak_panel12.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield12.setEditable(false);
        kotakname_textfield12.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield12.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel12Layout = new javax.swing.GroupLayout(kotak_panel12);
        kotak_panel12.setLayout(kotak_panel12Layout);
        kotak_panel12Layout.setHorizontalGroup(
            kotak_panel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield12, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel12Layout.setVerticalGroup(
            kotak_panel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel12Layout.createSequentialGroup()
                .addComponent(kotakname_textfield12, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel13.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel13.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel13.setEnabled(false);
        kotak_panel13.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel13.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel13.setRequestFocusEnabled(false);
        kotak_panel13.setVerifyInputWhenFocusTarget(false);
        kotak_panel13.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield13.setBackground(new java.awt.Color(204, 204, 255));
        kotakname_textfield13.setEditable(false);
        kotakname_textfield13.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield13.setText("jTextField1");
        kotakname_textfield13.setAutoscrolls(false);
        kotakname_textfield13.setRequestFocusEnabled(false);
        kotakname_textfield13.setVerifyInputWhenFocusTarget(false);

        javax.swing.GroupLayout kotak_panel13Layout = new javax.swing.GroupLayout(kotak_panel13);
        kotak_panel13.setLayout(kotak_panel13Layout);
        kotak_panel13Layout.setHorizontalGroup(
            kotak_panel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield13, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel13Layout.setVerticalGroup(
            kotak_panel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel13Layout.createSequentialGroup()
                .addComponent(kotakname_textfield13, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel14.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel14.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel14.setEnabled(false);
        kotak_panel14.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel14.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel14.setRequestFocusEnabled(false);
        kotak_panel14.setVerifyInputWhenFocusTarget(false);
        kotak_panel14.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield14.setBackground(new java.awt.Color(255, 255, 153));
        kotakname_textfield14.setEditable(false);
        kotakname_textfield14.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield14.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel14Layout = new javax.swing.GroupLayout(kotak_panel14);
        kotak_panel14.setLayout(kotak_panel14Layout);
        kotak_panel14Layout.setHorizontalGroup(
            kotak_panel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield14, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel14Layout.setVerticalGroup(
            kotak_panel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel14Layout.createSequentialGroup()
                .addComponent(kotakname_textfield14, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel15.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel15.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel15.setEnabled(false);
        kotak_panel15.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel15.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel15.setRequestFocusEnabled(false);
        kotak_panel15.setVerifyInputWhenFocusTarget(false);
        kotak_panel15.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield15.setBackground(new java.awt.Color(255, 255, 153));
        kotakname_textfield15.setEditable(false);
        kotakname_textfield15.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield15.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel15Layout = new javax.swing.GroupLayout(kotak_panel15);
        kotak_panel15.setLayout(kotak_panel15Layout);
        kotak_panel15Layout.setHorizontalGroup(
            kotak_panel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield15, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel15Layout.setVerticalGroup(
            kotak_panel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel15Layout.createSequentialGroup()
                .addComponent(kotakname_textfield15, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel16.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel16.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel16.setEnabled(false);
        kotak_panel16.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel16.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel16.setRequestFocusEnabled(false);
        kotak_panel16.setVerifyInputWhenFocusTarget(false);
        kotak_panel16.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield16.setBackground(new java.awt.Color(255, 255, 153));
        kotakname_textfield16.setEditable(false);
        kotakname_textfield16.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield16.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel16Layout = new javax.swing.GroupLayout(kotak_panel16);
        kotak_panel16.setLayout(kotak_panel16Layout);
        kotak_panel16Layout.setHorizontalGroup(
            kotak_panel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield16, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel16Layout.setVerticalGroup(
            kotak_panel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel16Layout.createSequentialGroup()
                .addComponent(kotakname_textfield16, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel17.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel17.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel17.setEnabled(false);
        kotak_panel17.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel17.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel17.setRequestFocusEnabled(false);
        kotak_panel17.setVerifyInputWhenFocusTarget(false);
        kotak_panel17.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield17.setEditable(false);
        kotakname_textfield17.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield17.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel17Layout = new javax.swing.GroupLayout(kotak_panel17);
        kotak_panel17.setLayout(kotak_panel17Layout);
        kotak_panel17Layout.setHorizontalGroup(
            kotak_panel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield17, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel17Layout.setVerticalGroup(
            kotak_panel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel17Layout.createSequentialGroup()
                .addComponent(kotakname_textfield17, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel18.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel18.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel18.setEnabled(false);
        kotak_panel18.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel18.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel18.setRequestFocusEnabled(false);
        kotak_panel18.setVerifyInputWhenFocusTarget(false);
        kotak_panel18.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield18.setEditable(false);
        kotakname_textfield18.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield18.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel18Layout = new javax.swing.GroupLayout(kotak_panel18);
        kotak_panel18.setLayout(kotak_panel18Layout);
        kotak_panel18Layout.setHorizontalGroup(
            kotak_panel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield18, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel18Layout.setVerticalGroup(
            kotak_panel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel18Layout.createSequentialGroup()
                .addComponent(kotakname_textfield18, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel19.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel19.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel19.setEnabled(false);
        kotak_panel19.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel19.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel19.setRequestFocusEnabled(false);
        kotak_panel19.setVerifyInputWhenFocusTarget(false);
        kotak_panel19.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield19.setBackground(new java.awt.Color(255, 204, 204));
        kotakname_textfield19.setEditable(false);
        kotakname_textfield19.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield19.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel19Layout = new javax.swing.GroupLayout(kotak_panel19);
        kotak_panel19.setLayout(kotak_panel19Layout);
        kotak_panel19Layout.setHorizontalGroup(
            kotak_panel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield19, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel19Layout.setVerticalGroup(
            kotak_panel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel19Layout.createSequentialGroup()
                .addComponent(kotakname_textfield19, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel20.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel20.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel20.setEnabled(false);
        kotak_panel20.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel20.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel20.setRequestFocusEnabled(false);
        kotak_panel20.setVerifyInputWhenFocusTarget(false);
        kotak_panel20.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield20.setBackground(new java.awt.Color(255, 204, 204));
        kotakname_textfield20.setEditable(false);
        kotakname_textfield20.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield20.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel20Layout = new javax.swing.GroupLayout(kotak_panel20);
        kotak_panel20.setLayout(kotak_panel20Layout);
        kotak_panel20Layout.setHorizontalGroup(
            kotak_panel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield20, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel20Layout.setVerticalGroup(
            kotak_panel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel20Layout.createSequentialGroup()
                .addComponent(kotakname_textfield20, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel21.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel21.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel21.setEnabled(false);
        kotak_panel21.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel21.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel21.setRequestFocusEnabled(false);
        kotak_panel21.setVerifyInputWhenFocusTarget(false);
        kotak_panel21.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield21.setBackground(new java.awt.Color(204, 204, 255));
        kotakname_textfield21.setEditable(false);
        kotakname_textfield21.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield21.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel21Layout = new javax.swing.GroupLayout(kotak_panel21);
        kotak_panel21.setLayout(kotak_panel21Layout);
        kotak_panel21Layout.setHorizontalGroup(
            kotak_panel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield21, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel21Layout.setVerticalGroup(
            kotak_panel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel21Layout.createSequentialGroup()
                .addComponent(kotakname_textfield21, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel22.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel22.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel22.setEnabled(false);
        kotak_panel22.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel22.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel22.setRequestFocusEnabled(false);
        kotak_panel22.setVerifyInputWhenFocusTarget(false);
        kotak_panel22.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield22.setBackground(new java.awt.Color(255, 204, 204));
        kotakname_textfield22.setEditable(false);
        kotakname_textfield22.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield22.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel22Layout = new javax.swing.GroupLayout(kotak_panel22);
        kotak_panel22.setLayout(kotak_panel22Layout);
        kotak_panel22Layout.setHorizontalGroup(
            kotak_panel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield22, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel22Layout.setVerticalGroup(
            kotak_panel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel22Layout.createSequentialGroup()
                .addComponent(kotakname_textfield22, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel23.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel23.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel23.setEnabled(false);
        kotak_panel23.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel23.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel23.setRequestFocusEnabled(false);
        kotak_panel23.setVerifyInputWhenFocusTarget(false);
        kotak_panel23.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield23.setEditable(false);
        kotakname_textfield23.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield23.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel23Layout = new javax.swing.GroupLayout(kotak_panel23);
        kotak_panel23.setLayout(kotak_panel23Layout);
        kotak_panel23Layout.setHorizontalGroup(
            kotak_panel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield23, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel23Layout.setVerticalGroup(
            kotak_panel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel23Layout.createSequentialGroup()
                .addComponent(kotakname_textfield23, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel24.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel24.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel24.setEnabled(false);
        kotak_panel24.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel24.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel24.setRequestFocusEnabled(false);
        kotak_panel24.setVerifyInputWhenFocusTarget(false);
        kotak_panel24.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield24.setBackground(new java.awt.Color(153, 255, 204));
        kotakname_textfield24.setEditable(false);
        kotakname_textfield24.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield24.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel24Layout = new javax.swing.GroupLayout(kotak_panel24);
        kotak_panel24.setLayout(kotak_panel24Layout);
        kotak_panel24Layout.setHorizontalGroup(
            kotak_panel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield24, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel24Layout.setVerticalGroup(
            kotak_panel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel24Layout.createSequentialGroup()
                .addComponent(kotakname_textfield24, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel25.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel25.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel25.setEnabled(false);
        kotak_panel25.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel25.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel25.setRequestFocusEnabled(false);
        kotak_panel25.setVerifyInputWhenFocusTarget(false);
        kotak_panel25.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield25.setBackground(new java.awt.Color(0, 0, 0));
        kotakname_textfield25.setEditable(false);
        kotakname_textfield25.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield25.setForeground(new java.awt.Color(255, 255, 255));
        kotakname_textfield25.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel25Layout = new javax.swing.GroupLayout(kotak_panel25);
        kotak_panel25.setLayout(kotak_panel25Layout);
        kotak_panel25Layout.setHorizontalGroup(
            kotak_panel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield25, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel25Layout.setVerticalGroup(
            kotak_panel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel25Layout.createSequentialGroup()
                .addComponent(kotakname_textfield25, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel27.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel27.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel27.setEnabled(false);
        kotak_panel27.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel27.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel27.setRequestFocusEnabled(false);
        kotak_panel27.setVerifyInputWhenFocusTarget(false);
        kotak_panel27.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield26.setBackground(new java.awt.Color(153, 255, 204));
        kotakname_textfield26.setEditable(false);
        kotakname_textfield26.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield26.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel27Layout = new javax.swing.GroupLayout(kotak_panel27);
        kotak_panel27.setLayout(kotak_panel27Layout);
        kotak_panel27Layout.setHorizontalGroup(
            kotak_panel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield26, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel27Layout.setVerticalGroup(
            kotak_panel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel27Layout.createSequentialGroup()
                .addComponent(kotakname_textfield26, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel26.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel26.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel26.setEnabled(false);
        kotak_panel26.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel26.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel26.setRequestFocusEnabled(false);
        kotak_panel26.setVerifyInputWhenFocusTarget(false);
        kotak_panel26.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield27.setEditable(false);
        kotakname_textfield27.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield27.setText("jTextField1");
        kotakname_textfield27.setAutoscrolls(false);
        kotakname_textfield27.setRequestFocusEnabled(false);
        kotakname_textfield27.setVerifyInputWhenFocusTarget(false);

        javax.swing.GroupLayout kotak_panel26Layout = new javax.swing.GroupLayout(kotak_panel26);
        kotak_panel26.setLayout(kotak_panel26Layout);
        kotak_panel26Layout.setHorizontalGroup(
            kotak_panel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield27, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel26Layout.setVerticalGroup(
            kotak_panel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel26Layout.createSequentialGroup()
                .addComponent(kotakname_textfield27, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel28.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel28.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel28.setEnabled(false);
        kotak_panel28.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel28.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel28.setRequestFocusEnabled(false);
        kotak_panel28.setVerifyInputWhenFocusTarget(false);
        kotak_panel28.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield28.setBackground(new java.awt.Color(153, 255, 204));
        kotakname_textfield28.setEditable(false);
        kotakname_textfield28.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield28.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel28Layout = new javax.swing.GroupLayout(kotak_panel28);
        kotak_panel28.setLayout(kotak_panel28Layout);
        kotak_panel28Layout.setHorizontalGroup(
            kotak_panel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield28, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel28Layout.setVerticalGroup(
            kotak_panel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel28Layout.createSequentialGroup()
                .addComponent(kotakname_textfield28, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel29.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel29.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel29.setEnabled(false);
        kotak_panel29.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel29.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel29.setRequestFocusEnabled(false);
        kotak_panel29.setVerifyInputWhenFocusTarget(false);
        kotak_panel29.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield29.setBackground(new java.awt.Color(204, 204, 255));
        kotakname_textfield29.setEditable(false);
        kotakname_textfield29.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield29.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel29Layout = new javax.swing.GroupLayout(kotak_panel29);
        kotak_panel29.setLayout(kotak_panel29Layout);
        kotak_panel29Layout.setHorizontalGroup(
            kotak_panel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield29, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel29Layout.setVerticalGroup(
            kotak_panel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel29Layout.createSequentialGroup()
                .addComponent(kotakname_textfield29, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel30.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel30.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel30.setEnabled(false);
        kotak_panel30.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel30.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel30.setRequestFocusEnabled(false);
        kotak_panel30.setVerifyInputWhenFocusTarget(false);
        kotak_panel30.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield30.setBackground(new java.awt.Color(255, 204, 153));
        kotakname_textfield30.setEditable(false);
        kotakname_textfield30.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield30.setText("jTextField1");
        kotakname_textfield30.setAutoscrolls(false);
        kotakname_textfield30.setRequestFocusEnabled(false);
        kotakname_textfield30.setVerifyInputWhenFocusTarget(false);

        javax.swing.GroupLayout kotak_panel30Layout = new javax.swing.GroupLayout(kotak_panel30);
        kotak_panel30.setLayout(kotak_panel30Layout);
        kotak_panel30Layout.setHorizontalGroup(
            kotak_panel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield30, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel30Layout.setVerticalGroup(
            kotak_panel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel30Layout.createSequentialGroup()
                .addComponent(kotakname_textfield30, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel31.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel31.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel31.setEnabled(false);
        kotak_panel31.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel31.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel31.setRequestFocusEnabled(false);
        kotak_panel31.setVerifyInputWhenFocusTarget(false);
        kotak_panel31.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield31.setEditable(false);
        kotakname_textfield31.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield31.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel31Layout = new javax.swing.GroupLayout(kotak_panel31);
        kotak_panel31.setLayout(kotak_panel31Layout);
        kotak_panel31Layout.setHorizontalGroup(
            kotak_panel31Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield31, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel31Layout.setVerticalGroup(
            kotak_panel31Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel31Layout.createSequentialGroup()
                .addComponent(kotakname_textfield31, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        kotak_panel32.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel32.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel32.setEnabled(false);
        kotak_panel32.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel32.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel32.setRequestFocusEnabled(false);
        kotak_panel32.setVerifyInputWhenFocusTarget(false);
        kotak_panel32.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield32.setBackground(new java.awt.Color(255, 204, 153));
        kotakname_textfield32.setEditable(false);
        kotakname_textfield32.setFont(new java.awt.Font("Candara", 0, 10));
        kotakname_textfield32.setText("jTextField1");

        javax.swing.GroupLayout kotak_panel32Layout = new javax.swing.GroupLayout(kotak_panel32);
        kotak_panel32.setLayout(kotak_panel32Layout);
        kotak_panel32Layout.setHorizontalGroup(
            kotak_panel32Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield32, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel32Layout.setVerticalGroup(
            kotak_panel32Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel32Layout.createSequentialGroup()
                .addComponent(kotakname_textfield32, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        notif_panel.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        notif_label.setBackground(new java.awt.Color(255, 204, 204));
        notif_label.setFont(new java.awt.Font("Hand Me Down S (BRK)", 0, 24));
        notif_label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        notif_label.setText("Welcome to Monoposims!");
        notif_label.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
        notif_label.setOpaque(true);
        notif_label.setVerifyInputWhenFocusTarget(false);
        notif_label.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                notif_labelMouseClicked(evt);
            }
        });
        notif_label.setBounds(0, 0, 500, 40);
        notif_panel.add(notif_label, javax.swing.JLayeredPane.DEFAULT_LAYER);

        asetattribute_panel.setBackground(new java.awt.Color(204, 255, 204));
        asetattribute_panel.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));
        asetattribute_panel.setOpaque(true);

        asetattribute_textarea.setColumns(20);
        asetattribute_textarea.setEditable(false);
        asetattribute_textarea.setFont(new java.awt.Font("Candara", 0, 13));
        asetattribute_textarea.setForeground(new java.awt.Color(0, 102, 153));
        asetattribute_textarea.setRows(5);
        asetattribute_textarea.setDisabledTextColor(new java.awt.Color(51, 51, 51));
        asetattribute_textarea.setBounds(250, 10, 190, 310);
        asetattribute_panel.add(asetattribute_textarea, javax.swing.JLayeredPane.DEFAULT_LAYER);

        imageLP_label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        imageLP_label.setBounds(10, 20, 225, 175);
        asetattribute_panel.add(imageLP_label, javax.swing.JLayeredPane.DEFAULT_LAYER);

        kotaknama_label.setFont(new java.awt.Font("French Script MT", 0, 36));
        kotaknama_label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        kotaknama_label.setText("kotaknama_label");
        kotaknama_label.setBounds(20, 190, 210, 60);
        asetattribute_panel.add(kotaknama_label, javax.swing.JLayeredPane.DEFAULT_LAYER);

        ownername_label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        ownername_label.setBounds(10, 304, 70, 20);
        asetattribute_panel.add(ownername_label, javax.swing.JLayeredPane.DEFAULT_LAYER);
        ownericon_label.setBounds(20, 250, 50, 50);
        asetattribute_panel.add(ownericon_label, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel6.setText("asjfkldsjfffffffffffffff");
        jLabel6.setBounds(-70, 100, 60, 100);
        asetattribute_panel.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);

        asset_label1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/model/house.png"))); // NOI18N
        asset_label1.setText("1");
        asset_label1.setBounds(80, 270, 30, 40);
        asetattribute_panel.add(asset_label1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        asset_label4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/model/house.png"))); // NOI18N
        asset_label4.setText("4");
        asset_label4.setBounds(200, 270, 30, 40);
        asetattribute_panel.add(asset_label4, javax.swing.JLayeredPane.DEFAULT_LAYER);

        asset_label2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/model/house.png"))); // NOI18N
        asset_label2.setText("2");
        asset_label2.setBounds(120, 270, 34, 40);
        asetattribute_panel.add(asset_label2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        asset_label3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/model/house.png"))); // NOI18N
        asset_label3.setText("3");
        asset_label3.setBounds(160, 270, 30, 40);
        asetattribute_panel.add(asset_label3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        kotak_panel1.setBackground(new java.awt.Color(255, 255, 255));
        kotak_panel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 51, 255), 1, true));
        kotak_panel1.setEnabled(false);
        kotak_panel1.setMaximumSize(new java.awt.Dimension(100, 100));
        kotak_panel1.setPreferredSize(new java.awt.Dimension(90, 70));
        kotak_panel1.setRequestFocusEnabled(false);
        kotak_panel1.setVerifyInputWhenFocusTarget(false);
        kotak_panel1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                kotakpanel_MouseExited(evt);
            }
        });

        kotakname_textfield1.setEditable(false);
        kotakname_textfield1.setFont(new java.awt.Font("Candara", 0, 10));

        javax.swing.GroupLayout kotak_panel1Layout = new javax.swing.GroupLayout(kotak_panel1);
        kotak_panel1.setLayout(kotak_panel1Layout);
        kotak_panel1Layout.setHorizontalGroup(
            kotak_panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(kotakname_textfield1, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
        );
        kotak_panel1Layout.setVerticalGroup(
            kotak_panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(kotak_panel1Layout.createSequentialGroup()
                .addComponent(kotakname_textfield1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        action_panel.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        plyrname_label2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        plyrname_label2.setText("jLabel1");

        plyricon_label2.setText("current_plyr.icon[1]");

        action_button.setText("Roll Dice");
        action_button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                action_buttonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout action_panelLayout = new javax.swing.GroupLayout(action_panel);
        action_panel.setLayout(action_panelLayout);
        action_panelLayout.setHorizontalGroup(
            action_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(action_panelLayout.createSequentialGroup()
                .addGroup(action_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(action_panelLayout.createSequentialGroup()
                        .addGap(19, 19, 19)
                        .addComponent(plyricon_label2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(53, 53, 53)
                        .addComponent(action_button, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(action_panelLayout.createSequentialGroup()
                        .addGap(96, 96, 96)
                        .addComponent(plyrname_label2, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(28, Short.MAX_VALUE))
        );
        action_panelLayout.setVerticalGroup(
            action_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(action_panelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(plyrname_label2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(action_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(plyricon_label2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(action_button, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(19, Short.MAX_VALUE))
        );

        setposisi_cheat.setBorder(null);
        setposisi_cheat.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                setposisi_cheatMouseClicked(evt);
            }
        });

        setuang_cheat.setBorder(null);
        setuang_cheat.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                setuang_cheatMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout board_panelLayout = new javax.swing.GroupLayout(board_panel);
        board_panel.setLayout(board_panelLayout);
        board_panelLayout.setHorizontalGroup(
            board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(board_panelLayout.createSequentialGroup()
                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(board_panelLayout.createSequentialGroup()
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(kotak_panel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(asetattribute_panel))
                        .addGap(0, 0, 0)
                        .addComponent(kotak_panel24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(board_panelLayout.createSequentialGroup()
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(board_panelLayout.createSequentialGroup()
                                        .addComponent(kotak_panel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(setuang_cheat, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(setposisi_cheat, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                    .addComponent(kotak_panel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(dice_label1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)))
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(action_panel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(0, 0, 0)
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addComponent(dice_label2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addGap(0, 0, 0)
                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(kotak_panel27, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel28, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel29, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel30, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel31, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel32, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel26, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(kotak_panel25, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(kotak_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
            .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(board_panelLayout.createSequentialGroup()
                    .addGap(149, 149, 149)
                    .addComponent(notif_panel, javax.swing.GroupLayout.PREFERRED_SIZE, 502, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(159, Short.MAX_VALUE)))
        );
        board_panelLayout.setVerticalGroup(
            board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(board_panelLayout.createSequentialGroup()
                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(kotak_panel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(kotak_panel19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel20, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(kotak_panel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(kotak_panel22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(kotak_panel25, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(0, 0, 0)
                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(board_panelLayout.createSequentialGroup()
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addComponent(asetattribute_panel, javax.swing.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE))
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel26, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel27, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(kotak_panel28, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel29, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel30, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addComponent(kotak_panel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addComponent(kotak_panel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(kotak_panel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(kotak_panel31, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(0, 0, 0)
                                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(kotak_panel32, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(kotak_panel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, board_panelLayout.createSequentialGroup()
                                    .addGap(11, 11, 11)
                                    .addComponent(dice_label2, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE))
                                .addGroup(board_panelLayout.createSequentialGroup()
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(dice_label1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .addGroup(board_panelLayout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addComponent(action_panel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(board_panelLayout.createSequentialGroup()
                        .addGap(438, 438, 438)
                        .addComponent(setuang_cheat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(setposisi_cheat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(6, 6, 6)))
                .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(kotak_panel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(kotak_panel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(board_panelLayout.createSequentialGroup()
                        .addGap(0, 0, 0)
                        .addComponent(kotak_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(63, 63, 63))
            .addGroup(board_panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(board_panelLayout.createSequentialGroup()
                    .addGap(313, 313, 313)
                    .addComponent(notif_panel, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(341, Short.MAX_VALUE)))
        );

        kotak_panel1.getAccessibleContext().setAccessibleParent(kotak_panel1);

        jPanel1.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        history_textarea.setColumns(20);
        history_textarea.setEditable(false);
        history_textarea.setFont(new java.awt.Font("Candara", 0, 13)); // NOI18N
        history_textarea.setForeground(new java.awt.Color(0, 102, 153));
        history_textarea.setRows(5);
        history_textarea.setDisabledTextColor(new java.awt.Color(51, 51, 51));
        jScrollPane1.setViewportView(history_textarea);

        player_panel1.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

        plyrsmallicon_label1.setText("lisa");
        plyrsmallicon_label1.setPreferredSize(new java.awt.Dimension(50, 50));

        playerattr_button1.setText("jButton1");
        playerattr_button1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                playerattr_buttonMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout player_panel1Layout = new javax.swing.GroupLayout(player_panel1);
        player_panel1.setLayout(player_panel1Layout);
        player_panel1Layout.setHorizontalGroup(
            player_panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel1Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addComponent(plyrsmallicon_label1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(playerattr_button1, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
                .addContainerGap())
        );
        player_panel1Layout.setVerticalGroup(
            player_panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel1Layout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(player_panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(playerattr_button1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyrsmallicon_label1, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)))
        );

        player_panel2.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

        plyrsmallicon_label2.setPreferredSize(new java.awt.Dimension(50, 50));

        playerattr_button2.setText("jButton1");
        playerattr_button2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                playerattr_buttonMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout player_panel2Layout = new javax.swing.GroupLayout(player_panel2);
        player_panel2.setLayout(player_panel2Layout);
        player_panel2Layout.setHorizontalGroup(
            player_panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel2Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addComponent(plyrsmallicon_label2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(playerattr_button2, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
                .addContainerGap())
        );
        player_panel2Layout.setVerticalGroup(
            player_panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel2Layout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(player_panel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(playerattr_button2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyrsmallicon_label2, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)))
        );

        player_panel5.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

        plyrsmallicon_label5.setPreferredSize(new java.awt.Dimension(50, 50));

        playerattr_button5.setText("jButton1");
        playerattr_button5.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                playerattr_buttonMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout player_panel5Layout = new javax.swing.GroupLayout(player_panel5);
        player_panel5.setLayout(player_panel5Layout);
        player_panel5Layout.setHorizontalGroup(
            player_panel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel5Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addComponent(plyrsmallicon_label5, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(playerattr_button5, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
                .addContainerGap())
        );
        player_panel5Layout.setVerticalGroup(
            player_panel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel5Layout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(player_panel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(playerattr_button5, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyrsmallicon_label5, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)))
        );

        player_panel6.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));

        plyrsmallicon_label6.setPreferredSize(new java.awt.Dimension(50, 50));

        playerattr_button6.setText("jButton1");
        playerattr_button6.setPreferredSize(new java.awt.Dimension(250, 50));
        playerattr_button6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                playerattr_buttonMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout player_panel6Layout = new javax.swing.GroupLayout(player_panel6);
        player_panel6.setLayout(player_panel6Layout);
        player_panel6Layout.setHorizontalGroup(
            player_panel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel6Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addComponent(plyrsmallicon_label6, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(playerattr_button6, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
                .addContainerGap())
        );
        player_panel6Layout.setVerticalGroup(
            player_panel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(player_panel6Layout.createSequentialGroup()
                .addGap(0, 0, 0)
                .addGroup(player_panel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(playerattr_button6, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(plyrsmallicon_label6, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)))
        );

        jLabel1.setFont(new java.awt.Font("French Script MT", 1, 48)); // NOI18N
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("History");

        jSeparator1.setPreferredSize(new java.awt.Dimension(300, 0));

        plyrattr_textarea.setColumns(20);
        plyrattr_textarea.setEditable(false);
        plyrattr_textarea.setRows(5);
        jScrollPane2.setViewportView(plyrattr_textarea);

        javax.swing.GroupLayout plyrattr_tabLayout = new javax.swing.GroupLayout(plyrattr_tab);
        plyrattr_tab.setLayout(plyrattr_tabLayout);
        plyrattr_tabLayout.setHorizontalGroup(
            plyrattr_tabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, plyrattr_tabLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(plyrlargeicon_label1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(370, 370, 370))
        );
        plyrattr_tabLayout.setVerticalGroup(
            plyrattr_tabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(plyrattr_tabLayout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addComponent(plyrlargeicon_label1, javax.swing.GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE)
                .addGap(11, 11, 11))
            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
        );

        playerattr_panel.addTab("Player's Attribute", plyrattr_tab);

        plyraset_textarea.setColumns(20);
        plyraset_textarea.setEditable(false);
        plyraset_textarea.setRows(5);
        jScrollPane3.setViewportView(plyraset_textarea);

        javax.swing.GroupLayout plyrasset_tabLayout = new javax.swing.GroupLayout(plyrasset_tab);
        plyrasset_tab.setLayout(plyrasset_tabLayout);
        plyrasset_tabLayout.setHorizontalGroup(
            plyrasset_tabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, plyrasset_tabLayout.createSequentialGroup()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(plyrlargeicon_label2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(180, 180, 180))
        );
        plyrasset_tabLayout.setVerticalGroup(
            plyrasset_tabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(plyrasset_tabLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(plyrasset_tabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(plyrlargeicon_label2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        playerattr_panel.addTab("Player's Asset", plyrasset_tab);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE)
                    .addComponent(playerattr_panel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(player_panel6, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(player_panel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addComponent(player_panel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(player_panel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(player_panel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(playerattr_panel, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(21, 21, 21)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(46, 46, 46))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(menu_button, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(90, 90, 90)
                        .addComponent(beliaset_button, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(sellaset_button, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(makan_button, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
                            .addComponent(rekreasi_button, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(trade_button, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bankrupt_button, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(board_panel, javax.swing.GroupLayout.PREFERRED_SIZE, 810, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(21, 21, 21)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(board_panel, javax.swing.GroupLayout.PREFERRED_SIZE, 634, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(bankrupt_button, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(trade_button, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(makan_button)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(rekreasi_button))
                            .addComponent(sellaset_button, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(beliaset_button, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(menu_button, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(58, 58, 58))
        );

        board_panel.getAccessibleContext().setAccessibleParent(board_panel);

        pack();
    }// </editor-fold>//GEN-END:initComponents
    //______________________________________________________________________________
   //METHOD
   private void kotakpanel_MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_kotakpanel_MouseEntered
       temp = notif_panel.isVisible();
       notif_panel.setVisible(false);
       asetattribute_panel.setVisible(true);

       if (evt.getSource().getClass().isInstance(kotak_panel1))
       {
           javax.swing.JPanel source = (javax.swing.JPanel) evt.getSource();
           int i = 1;
           while ( (source != kotak_panel[i]) && (i <= 32))
           {
               i++;
           }
           //try{
           if (source == kotak_panel[i])
           {
               asetattribute_textarea.setText(G.B[i].PrintAttribute());
               kotaknama_label.setText(G.B[i].getNama());
               imageLP_label.setIcon(SearchEngine.createImageIcon(G.B[i].getIcon()));
               if (G.B[i].getOwner() != null)
               {
                   ownername_label.setText(new String (G.B[i].getOwner().getNama()));
                   ownericon_label.setIcon(G.B[i].getOwner().getSmallImage());

                   DisplayAsset(G.B[i].getPosisi());
               }

           }
       }
  
}//GEN-LAST:event_kotakpanel_MouseEntered

   private void kotakpanel_MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_kotakpanel_MouseExited
       ownericon_label.setIcon(null);
       ownername_label.setText("");
       asetattribute_panel.setVisible(false);
       notif_panel.setVisible(temp);
       AssignAssetLabel();
   }//GEN-LAST:event_kotakpanel_MouseExited

    @SuppressWarnings({"static-access", "empty-statement"})
   private void action_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_action_buttonActionPerformed
       int dadu1;
       int dadu2;
              
       if (action_button.getText().equals("Roll Dice"))
       {
            if (!G.current_plyr().masuk_penjara) //DIA GA DI DALEM PENJARA
            {
                //acak dadu & dapetin angka2nya, tapi belom dipindahin
                G.current_plyr().acak();
                dadu1 = G.current_plyr().dadu1;
                dadu2 = G.current_plyr().dadu2;
                
                //dibandingin jumlah dadu dgn hungernya
                if (G.current_plyr().getHunger() <= (dadu1+dadu2))  //Kalo hunger ga cukup
                {
                    //ga boleh maju dong
                    HistoryWrite("You can't move. Eat or do vacation first.");
                    action_button.setText("Finish Turn");

                    //tampilin dadunya (tapi belom maju juga loh)
                    SetDicesDisplayed(dadu1, dadu2);
                }
                else    //kalo hunger cukup
                {
                    //nampilin dadu sama majuin bidaknya.
                    Thread t = new Thread (new Dadu_animator(this,dadu1,dadu2));
                    t.start();
                    
                    //ngasih peringatan kalo fun/hungernya kritis
                    if(G.current_plyr().criticalFun() || G.current_plyr().criticalHunger())
                    {
                        HistoryWrite("Be careful! Take care of yourself!");
                    }
                    //kondisi dadu sama / engga
                    //if (G.boleh_acak)
                    if(G.current_plyr().boleh_acak)
                    {
                        NotifWrite("You've got the same dice numbers.\n You can roll the dices again.");
                    } 
                    else
                    {
                        action_button.setText("Finish Turn");
                    }
                }
            }
       //DIA DI DALEM PENJARA
            else
            {
                counter_rolldice++;
                HistoryWrite(G.current_plyr().getNama() + " "+Integer.toString(counter_rolldice)+"x rolled the dice.\n "+G.current_plyr().acak());
                dadu1 = G.current_plyr().dadu1;
                dadu2 = G.current_plyr().dadu2;
            
                //Thread t = new Thread (new Dadu_animator(this,dadu1,dadu2));
                //t.start();
                if (dadu1==dadu2)       //dadu sama, boleh keluar
                {
                    counter_rolldice = 0;
                    if (G.current_plyr().getHunger() <= (dadu1+dadu2))  //Kalo hunger ga cukup
                    {
                        JOptionPane.showMessageDialog(null,"Good news : You've got out from the jail\nBad news  : You die! Please bankrupt yourself." , "?????????????", 1);
                        HistoryWrite("You die! Please bankrupt yourself.");
                    }
                        
                    else
                    {
                        JOptionPane.showMessageDialog(null,"You've got the same dice numbers!\n Roll the dices" , "Congratulation", 1);
                        HistoryWrite("Congratulation! You've got the same dice numbers!");
                        G.current_plyr().masuk_penjara = false;
                        /*G.current_plyr().moveYourPlayer(this, (dadu1+dadu2));
                        action_button.setText("Finish Turn");*/
                    }
                }
                else if (dadu1!=dadu2)      //dadu beda
                {
                    //dicek udah berapa kali ngacaknya
                    if (counter_rolldice>=3) //udah 3 kali ngeklik roll dice
                    {
                        counter_rolldice = 0;
                        HistoryWrite("Sorry, you can't go out. Maybe you should pay!");
                        action_button.setText("Finish Turn");
                    }
                    else
                    {
                        HistoryWrite("Dices : "+dadu1+" and "+dadu2+". Try to roll dice again or click on the box to pay!");
                    }
                }
           }
       }
       else if (action_button.getText().equals("Finish Turn"))
       {
           if (!(G.current_plyr().sudah_bayar))
            {
               if((G.current_plyr().getPosisi() == 4) || (G.current_plyr().getPosisi() == 18))
               {
                   JOptionPane.showMessageDialog(null, "You still have to pay for community chest!");
                   kes.getMethodDana(counter_community-1, G);
               }     
               else 
               {    
                    Bayar_dialog bayar = new Bayar_dialog(new javax.swing.JFrame(), true, this);
                    bayar.setPaydesc("Sorry, but you still have to pay the rent Rp."+G.current_kotak().getHargasewa()+" to " +G.current_kotak().getOwner().getNama());
                    bayar.setVisible(true);
               }
            }
            else 
            {
               HistoryWrite(G.current_plyr().getNama()+" has just finished her turn.");
                //ganti
                playerattr_button[G.urutan_current_plyr].setBackground(null);
                SetDicesDisplayed(0,0);
                DisableButtons();
                if(G.skip_next() )
                {
                   G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.Q.urutan_nextPlayer(G.urutan_current_plyr));
                   G.skip_next = false;
                }
                else
                {
                    G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.urutan_current_plyr);
                }
                //ngecek apakah playernya uda bangkrut ato belom??
                //kalo null next lagi..
                if(G.Q.player[G.urutan_current_plyr] == null)
                {
                    G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.urutan_current_plyr);
                }

                AssignAsThisPlyr(G.urutan_current_plyr);
                CheckBankrupt();
                action_button.setText("Roll Dice");
                if (!G.current_plyr().getHuman())
                {
                    NotifWrite (G.current_plyr().getNama()+" bukan manusia loh. Jangan2 pocong.");
                    System.out.println("bukan manusia loh. Jangan2 pocong.");
                    Thread ai_thread = new Thread (new AI_controller_Lisa(this));
                    ai_thread.start();
                }
            }
           
       }
       
       AssignAsThisPlyr(G.urutan_current_plyr);
       ShowPlyrAttr(G.urutan_current_plyr);
   }//GEN-LAST:event_action_buttonActionPerformed

   private void playerattr_buttonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_playerattr_buttonMouseClicked
       //tampilan vertical tergantung dari source event (tombol apa yang diteken)
        javax.swing.JButton source = (javax.swing.JButton) evt.getSource();
        if (source.equals(playerattr_button1))
        {
            if (trade_button.getText().equals("Cancel trading"))
                ShowAssetThesePlyrs(G.urutan_current_plyr, 1);
            if (G.Q.player[1]!= null)
                ShowPlyrAttr(1); //woi woi ini gasah digeser2 tabnya, dan elsenya emang gw ilangin..
        }
        else if (source.equals(playerattr_button2))
        {
            if (trade_button.getText().equals("Cancel trading"))
                ShowAssetThesePlyrs(G.urutan_current_plyr, 2);
            if (G.Q.player[2]!= null)
                ShowPlyrAttr(2);
        }
        else if (source.equals(playerattr_button5))
        {
            if (trade_button.getText().equals("Cancel trading"))
                ShowAssetThesePlyrs(G.urutan_current_plyr, 3);
            if (G.Q.player[3]!= null)
                ShowPlyrAttr(3);
        }
        else if (source.equals(playerattr_button6))
        {
            if (trade_button.getText().equals("Cancel trading"))
                ShowAssetThesePlyrs(G.urutan_current_plyr, 4);
            if (G.Q.player[4]!= null)
                ShowPlyrAttr(4);
        }
   }//GEN-LAST:event_playerattr_buttonMouseClicked

   private void beliaset_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_beliaset_buttonActionPerformed
       if (beliaset_button.getText().equals("Buy Asset"))
       {
            HistoryWrite (G.current_kotak().BeliAset(G.current_plyr()));
       }
       else// bisa Build Villa, bisa Build hotel
       {
            LokasiPariwisata LP = (LokasiPariwisata) G.current_kotak();
            if (LP.Build(G.current_plyr()))
                 HistoryWrite (G.current_plyr().getNama()+" has build SOMETHING at "+G.current_kotak().getNama());
       }
       beliaset_button.setEnabled(false);
       AssignAsThisPlyr(G.urutan_current_plyr);
       CekKotak();
       ShowPlyrAttr(G.urutan_current_plyr);
       
   }//GEN-LAST:event_beliaset_buttonActionPerformed

   private void notif_labelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_notif_labelMouseClicked
       notif_panel.setVisible(false);
}//GEN-LAST:event_notif_labelMouseClicked

   private void rekreasi_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rekreasi_buttonActionPerformed
       // TODO add your handling code here:
       LokasiPariwisata LP = (LokasiPariwisata) G.current_kotak();
       if (G.current_plyr().cukup(LP.getHarga_rekreasi()))
       {
           G.current_plyr().bayar(LP.getHarga_rekreasi());
           G.current_plyr().rekreasi(LP.getIncrease_rekreasi());
           HistoryWrite (G.current_plyr().getNama()+" did "+LP.getRekreasi()+" for "+LP.getHarga_rekreasi()+ " and had fun added by "+LP.getIncrease_rekreasi());
       }
       else
           HistoryWrite("NFS! Not sufficient fund");
       ShowPlyrAttr(G.urutan_current_plyr);
   }//GEN-LAST:event_rekreasi_buttonActionPerformed

   private void makan_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_makan_buttonActionPerformed
       LokasiPariwisata LP = (LokasiPariwisata) G.current_kotak();
       if (G.current_plyr().cukup(LP.getHarga_makanan()))
       {
           G.current_plyr().makan(LP.getIncrease_makanan());
           G.current_plyr().bayar(LP.getHarga_makanan());
           HistoryWrite (G.current_plyr().getNama()+" did "+LP.getMakanan()+" for "+LP.getHarga_makanan()+ " and had full added by "+LP.getIncrease_makanan());
       }
       else
           HistoryWrite("NFS! Not sufficient fund");
       ShowPlyrAttr(G.urutan_current_plyr);
   }//GEN-LAST:event_makan_buttonActionPerformed

   private void menu_buttonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_menu_buttonMouseClicked
       menu_popup.show(this, menu_button.getX(), menu_button.getY());
       
   }//GEN-LAST:event_menu_buttonMouseClicked

   private void setposisi_cheatMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_setposisi_cheatMouseClicked
        if (!setposisi_cheat.getText().equals(new String ("")))
       {
           int pos = Integer.parseInt(setposisi_cheat.getText());
           G.current_plyr().setPosisi(pos);
           action_button.setText("Finish Turn");
           this.ShowPlyrAllPosition();
           CekKotak();
       }

   }//GEN-LAST:event_setposisi_cheatMouseClicked

   private void sellaset_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sellaset_buttonActionPerformed
        if (sellaset_button.getText().equals("Sell Asset"))
        {
            //action panelnya disumputin dulu, biar ga bisa finish turn di tengah2
            action_panel.setVisible(false);

            //button2 lain jg di disable
           this.DisableButtons();
           //tapi trade buttonnya dienable lagi, terus diganti namanya
           sellaset_button.setEnabled(true);
           sellaset_button.setText("Cancel sale");//ini untuk tipuan ntar tanya gw aja -- Lisa

            //bikin background aset yang punya nya dia jadi warna kuning2 gt.
            for (int i = 1; i<=32; i++)
            {
                if ((G.B[i].getOwner() != null) && (G.B[i].getOwner().equals(G.current_plyr())))
                {
                    //biar tombolnya bisa diklik
                    kotak_panel[i].addMouseListener(new java.awt.event.MouseAdapter()
                    {
                        //@Override
                        @Override
                        public void mouseClicked(java.awt.event.MouseEvent evt)
                        {
                            javax.swing.JPanel source = (javax.swing.JPanel) evt.getSource();
                            if (!source.getBackground().equals(new java.awt.Color(255,255,255)))
                                soldkotak_buttonMouseClicked(evt);
                        }
                    });
                }
            }
           NotifWrite("<html> Choose an asset of yours that you want to sell!<br> Or click cancel sell to finish this sale mode.");
        }
        else
        {
           //kasi notif
           NotifWrite("you cancel the sale");
           //kembaliin kotak2 kaya semula
           AssignAsThisPlyr(G.urutan_current_plyr);
           sellaset_button.setText("Sell Asset");//ini untuk tipuan ntar tanya gw aja -- Lisa
           //action panelnya dimunculin lagi
           action_panel.setVisible(true);
       }


   }//GEN-LAST:event_sellaset_buttonActionPerformed
   public Jual_dialog jual_dialog;
   public void soldkotak_buttonMouseClicked(java.awt.event.MouseEvent evt)
    {
        if (sellaset_button.getText().equals("Cancel sale"))
        {
            this.setVisible(false);
            jual_dialog = new Jual_dialog(this, evt);
            jual_dialog.setVisible(true);
        }
    }
//untuk trading
   public void ShowAssetThesePlyrs(int urutan_plyr1, int urutan_plyr2)
    //dipake u/trade, jadi bisa ngebandingin
    {
        if (trade_button.getText().equals("Cancel trading"))
        {
            NotifWrite("Select your asset you want to trade !");
            for (int i = 1; i<=32; i++)
            {
                if ((G.B[i].getOwner() != null) && ((G.B[i].getOwner().equals(G.Q.player[urutan_plyr1]))|| (G.B[i].getOwner().equals(G.Q.player[urutan_plyr2]))) )
                {
                    if (G.B[i].getOwner().equals(G.Q.player[urutan_plyr1]))     //punya pemain yg mau tukeran
                    {
                        kotak_panel[i].setBackground(G.Q.player[urutan_plyr1].getSoftColor());
                        //biar tombolnya bisa diklik
                        kotak_panel[i].addMouseListener(new java.awt.event.MouseAdapter()
                        {
                            @Override
                            public void mouseClicked(java.awt.event.MouseEvent trader_evt)
                            {
                                if (trade_button.getText().equals("Cancel trading"))
                                {
                                    temp_evt = trader_evt;
                                    NotifWrite("Select asset you want to trade with!");
                                }
                                
                            }
                        });
                    }
                    else if (G.B[i].getOwner().equals(G.Q.player[urutan_plyr2])) //punya pemain yg mau dituker
                    {
                        kotak_panel[i].setBackground(G.Q.player[urutan_plyr2].getSoftColor());
                        //biar tombolnya bisa diklik
                        final int urutan_player = urutan_plyr2;
                        kotak_panel[i].addMouseListener(new java.awt.event.MouseAdapter()
                        {

                            @Override
                            public void mouseClicked(java.awt.event.MouseEvent player_evt)
                            {
                                if (trade_button.getText().equals("Cancel trading"))
                                {
                                    tradedkotak_panelMouseClicked(temp_evt, player_evt, urutan_player);
                                    NotifWrite("Click 'Cancel Trading' to end this trading mode.");
                                }
                            }
                        });
                    }
                }
                else //kalo gada pemiliknya, ato ada pemiliknya tapi bukan 1 bukan 2 juga
                {
                    kotak_panel[i].setBackground(new java.awt.Color (255,255,255));
                }
            }
        }
    }


    Trade_dialog trade;
   public void tradedkotak_panelMouseClicked(java.awt.event.MouseEvent trader_evt,java.awt.event.MouseEvent player_evt,int urutan_player )
    {
        if (trade_button.getText().equals("Cancel trading"))
        {
            trade = new Trade_dialog(this, trader_evt, player_evt, urutan_player);
            trade.setTitle("Trading: "+G.current_plyr().getNama()+" and "+G.Q.player[urutan_player]);
            trade.setVisible(true);
            this.trade_button.setText("Trade");
            this.setVisible(false);
        }

    }

   private void trade_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_trade_buttonActionPerformed

       if (trade_button.getText().equals("Trade"))
       {
           //action panelnya disumputin dulu, biar ga bisa finish turn di tengah2
            action_panel.setVisible(false);
            //button2 lain jg di disable
           this.DisableButtons();
           //tapi trade buttonnya dienable lagi, terus diganti namanya
           trade_button.setEnabled(true);
           trade_button.setText("Cancel trading");//ini untuk tipuan ntar tanya gw aja -- Lisa
           //kasi notif
           NotifWrite("Choose other player to trade with");
       }
        else
        {
           //kasi notif
           NotifWrite("you cancel the trading");
           //kembaliin kotak2 kaya semula
           AssignAsThisPlyr(G.urutan_current_plyr);
           temp_evt = null;
           
           trade_button.setText("Trade");//ini untuk tipuan ntar tanya gw aja -- Lisa

           //action panelnya dimunculin lagi
           action_panel.setVisible(true);
       }
   }//GEN-LAST:event_trade_buttonActionPerformed

   //penjara
   private void kotak_panel9MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_kotak_panel9MouseClicked
       if(G.current_plyr().masuk_penjara)
       {
           if (G.current_plyr().cukup(5000))
           {
                HistoryWrite("You have paid IDR 5000 to exit from jail");
                G.current_plyr().bayar(5000);
                G.current_plyr().masuk_penjara = false;
                asetattribute_panel.setVisible(false);
           }
           else
               HistoryWrite("Sorry, your fund is not enough. Try to roll dice or sell your asset.");
       }
   }//GEN-LAST:event_kotak_panel9MouseClicked

   public void CheckBankrupt()
   {
       if(G.Q.player[G.Q.urutan_lastPlayer(G.urutan_current_plyr)] == null)
           G.urutan_current_plyr = G.urutan_current_plyr; //apa sih ini //iya apa sih ini   //saya juga bingung //nanaonan ieu teh??
       while (G.Q.player[G.urutan_current_plyr] == null)
           G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.urutan_current_plyr);

   }
   private void bankrupt_buttonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_bankrupt_buttonMouseClicked
       // TODO add your handling code here:
       Integer choice = new Integer(JOptionPane.showConfirmDialog(null, "Are you that desperate?", "Bankrupt", 0));
       if (choice == 0)
       {
            G.current_plyr().bangkrut(G.B);
            playerattr_button[G.urutan_current_plyr].setText("BANKRUPT");
            playerattr_button[G.urutan_current_plyr].setEnabled(false);
            int posisi = G.Q.player[G.urutan_current_plyr].getPosisi();
            G.Q.player[G.urutan_current_plyr] = null;
            ShowPlyr(posisi);
            G.urutan_current_plyr = G.Q.urutan_nextPlayer(G.urutan_current_plyr);
            AssignAsThisPlyr(G.urutan_current_plyr);
            if(G.Q.player[G.Q.jum_Player] == null)
                G.Q.jum_Player -= 1;
       }
       

   }//GEN-LAST:event_bankrupt_buttonMouseClicked

   private void setuang_cheatMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_setuang_cheatMouseClicked
       if (!setuang_cheat.getText().equals(""))
       {
           int uang = Integer.parseInt(setuang_cheat.getText());
           G.current_plyr().setUang(uang);
       }

   }//GEN-LAST:event_setuang_cheatMouseClicked
   
    public static void puts (String S)
    {
        System.out.println(S);
    }

    public static void puts (int S)
    {
        System.out.println(S);
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            @SuppressWarnings("static-access")
            public void run()
            {  
                Permainan2 game = new Permainan2();

            }
        });
    }
  

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton action_button;
    private javax.swing.JPanel action_panel;
    private javax.swing.JLayeredPane asetattribute_panel;
    private javax.swing.JTextArea asetattribute_textarea;
    private javax.swing.JLabel asset_label1;
    private javax.swing.JLabel asset_label2;
    private javax.swing.JLabel asset_label3;
    private javax.swing.JLabel asset_label4;
    private javax.swing.JButton bankrupt_button;
    private javax.swing.JButton beliaset_button;
    private javax.swing.JPanel board_panel;
    private javax.swing.JLabel dice_label1;
    private javax.swing.JLabel dice_label2;
    private javax.swing.JTextArea history_textarea;
    private javax.swing.JLabel imageLP_label;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JPanel kotak_panel1;
    private javax.swing.JPanel kotak_panel10;
    private javax.swing.JPanel kotak_panel11;
    private javax.swing.JPanel kotak_panel12;
    private javax.swing.JPanel kotak_panel13;
    private javax.swing.JPanel kotak_panel14;
    private javax.swing.JPanel kotak_panel15;
    private javax.swing.JPanel kotak_panel16;
    private javax.swing.JPanel kotak_panel17;
    private javax.swing.JPanel kotak_panel18;
    private javax.swing.JPanel kotak_panel19;
    private javax.swing.JPanel kotak_panel2;
    private javax.swing.JPanel kotak_panel20;
    private javax.swing.JPanel kotak_panel21;
    private javax.swing.JPanel kotak_panel22;
    private javax.swing.JPanel kotak_panel23;
    private javax.swing.JPanel kotak_panel24;
    private javax.swing.JPanel kotak_panel25;
    private javax.swing.JPanel kotak_panel26;
    private javax.swing.JPanel kotak_panel27;
    private javax.swing.JPanel kotak_panel28;
    private javax.swing.JPanel kotak_panel29;
    private javax.swing.JPanel kotak_panel3;
    private javax.swing.JPanel kotak_panel30;
    private javax.swing.JPanel kotak_panel31;
    private javax.swing.JPanel kotak_panel32;
    private javax.swing.JPanel kotak_panel4;
    private javax.swing.JPanel kotak_panel5;
    private javax.swing.JPanel kotak_panel6;
    private javax.swing.JPanel kotak_panel7;
    private javax.swing.JPanel kotak_panel8;
    private javax.swing.JPanel kotak_panel9;
    private javax.swing.JLabel kotaknama_label;
    private javax.swing.JTextField kotakname_textfield1;
    private javax.swing.JTextField kotakname_textfield10;
    private javax.swing.JTextField kotakname_textfield11;
    private javax.swing.JTextField kotakname_textfield12;
    private javax.swing.JTextField kotakname_textfield13;
    private javax.swing.JTextField kotakname_textfield14;
    private javax.swing.JTextField kotakname_textfield15;
    private javax.swing.JTextField kotakname_textfield16;
    private javax.swing.JTextField kotakname_textfield17;
    private javax.swing.JTextField kotakname_textfield18;
    private javax.swing.JTextField kotakname_textfield19;
    private javax.swing.JTextField kotakname_textfield2;
    private javax.swing.JTextField kotakname_textfield20;
    private javax.swing.JTextField kotakname_textfield21;
    private javax.swing.JTextField kotakname_textfield22;
    private javax.swing.JTextField kotakname_textfield23;
    private javax.swing.JTextField kotakname_textfield24;
    private javax.swing.JTextField kotakname_textfield25;
    private javax.swing.JTextField kotakname_textfield26;
    private javax.swing.JTextField kotakname_textfield27;
    private javax.swing.JTextField kotakname_textfield28;
    private javax.swing.JTextField kotakname_textfield29;
    private javax.swing.JTextField kotakname_textfield3;
    private javax.swing.JTextField kotakname_textfield30;
    private javax.swing.JTextField kotakname_textfield31;
    private javax.swing.JTextField kotakname_textfield32;
    private javax.swing.JTextField kotakname_textfield4;
    private javax.swing.JTextField kotakname_textfield5;
    private javax.swing.JTextField kotakname_textfield6;
    private javax.swing.JTextField kotakname_textfield7;
    private javax.swing.JTextField kotakname_textfield8;
    private javax.swing.JTextField kotakname_textfield9;
    private javax.swing.JButton makan_button;
    private javax.swing.JButton menu_button;
    private javax.swing.JPopupMenu menu_popup;
    private javax.swing.JLabel notif_label;
    private javax.swing.JLayeredPane notif_panel;
    private javax.swing.JLabel ownericon_label;
    private javax.swing.JLabel ownername_label;
    private javax.swing.JPanel player_panel1;
    private javax.swing.JPanel player_panel2;
    private javax.swing.JPanel player_panel5;
    private javax.swing.JPanel player_panel6;
    private javax.swing.JButton playerattr_button1;
    private javax.swing.JButton playerattr_button2;
    private javax.swing.JButton playerattr_button5;
    private javax.swing.JButton playerattr_button6;
    private javax.swing.JTabbedPane playerattr_panel;
    private javax.swing.JTextArea plyraset_textarea;
    private javax.swing.JPanel plyrasset_tab;
    private javax.swing.JPanel plyrattr_tab;
    private javax.swing.JTextArea plyrattr_textarea;
    private javax.swing.JLabel plyricon_label2;
    private javax.swing.JLabel plyrlargeicon_label1;
    private javax.swing.JLabel plyrlargeicon_label2;
    private javax.swing.JLabel plyrname_label2;
    private javax.swing.JLabel plyrsmallicon_label1;
    private javax.swing.JLabel plyrsmallicon_label2;
    private javax.swing.JLabel plyrsmallicon_label5;
    private javax.swing.JLabel plyrsmallicon_label6;
    private javax.swing.JButton rekreasi_button;
    private javax.swing.JButton sellaset_button;
    private javax.swing.JTextField setposisi_cheat;
    private javax.swing.JTextField setuang_cheat;
    private javax.swing.JButton trade_button;
    // End of variables declaration//GEN-END:variables
    
    class PopupListener extends MouseAdapter {
        JPopupMenu popup;

        PopupListener(JPopupMenu popupMenu) {
            popup = popupMenu;
        }

        @Override
        public void mouseClicked(MouseEvent e) {
            maybeShowPopup(e);
        }
        
        @Override
        public void mouseEntered(MouseEvent e) {
            maybeShowPopup(e);
        }

        @Override
        public void mouseExited(MouseEvent e) {
            maybeShowPopup(e);
        }
        private void maybeShowPopup(MouseEvent e) {
            if (e.isPopupTrigger()) {
                popup.show(e.getComponent(),
                           e.getX(), e.getY());
            }
        }
    }
}
